package com.bjpowenode.java;

/**
 * @author wuyuecai
 * @create 2021-06-01 14:45
 */
public class RecTangle {
    /*
从键盘输入一个整数（1~20）
则以该数字为矩阵的大小，把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如： 输入数字2，则程序输出：
1 2
4 3
输入数字3，则程序输出：
1 2 3
8 9 4
7 6 5
输入数字4， 则程序输出：
1   2   3   4
12  13  14  5
11  16  15  6
10  9  8    7
     */
    public static void main(String[] args) {
        int num = 3;
        int[][] arr = new int[num][num];
        int counter = 0;//记录数据
        int minX = 0;//x轴最小值
        int maxX = num - 1;//x轴最大值
        int minY = 0;//y轴最小值
        int maxY = num -1;//y轴最大值

        while (minX <= maxX) {
            for (int x = minX; x <= maxX; x++) {
                arr[minY][x] = ++counter;
            }
            minY++;
            for (int y = minY; y <= maxY; y++) {
                arr[y][maxX] = ++counter;
            }
            maxX--;
            for (int x = maxX; x >= minX; x--) {
                arr[maxY][x] = ++counter;
            }
            maxY--;
            for (int y = maxY; y >= minY; y--) {
                arr[y][minX] = ++counter;
            }
            minX++;
        }

        for (int[] row : arr) {
            for (int data : row) {
                System.out.print(data + "\t");
            }
            System.out.println();
        }
    }
}
